<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Javascript函数-箭头函数</title>
</head>

<body>
    <script>
        /**
         * 1.箭头函数中的this继承自父作用域中的this对象，而普通函数的this则指向调用这个方法的那个对象
         * 2.箭头函数中不存在arguments，如果想要实现类似arguments的效果，可以使用ES6提供的可变参数
         * 3.不可以使用 new 命令和 yield 命令
         */
        let utils = {
            addItem: () => { //箭头函数
                // console.log(arguments)
                console.log('箭头函数中的this：', this)
            },
            deleteItem: function () { //普通匿名函数
                console.log(arguments)
                console.log('匿名函数中的this：', this)
            }
        }
        //  let _addItem = new utils.addItem() //报错：utils.addItem is not a constructor
        console.log(utils.addItem.prototype) //输出：undefined
        console.log(utils.deleteItem.prototype)
        utils.addItem()
        utils.deleteItem()
        document.addEventListener('click', utils.addItem)
        document.addEventListener('dblclick', utils.deleteItem)
    </script>
</body>

</html>